Acquisition and transfer of tacit knowledge

ABSTRACT

In an approach for transferring data between user accounts, a computer receives a request to transfer data from a first user account to at least a second user account. The computer identifies the first user account and the at least second user account. The computer determines activity associated with the first user account. The computer determines relevant activity from the determined activity associated with the first user account based on the received request.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of knowledgemanagement, and more particularly to acquiring and transferring tacitknowledge between users.

Knowledge management refers to a multi-disciplined approach encompassingthe process of capturing, developing, sharing, and effectively usingknowledge to achieve organizational objectives (e.g., improvedperformance, competitive advantage, innovation, sharing of lessonslearned, integration, and continuous improvement). Knowledge is afamiliarity, awareness, or understanding of someone or somethingacquired through experience or education (e.g., facts, information,descriptions, or skills). Knowledge may be broken into two categories,explicit and tacit. Explicit knowledge is knowledge that has beenarticulated, codified, and stored in certain media and can be easilyconveyed to others (e.g., information contained in encyclopedias andtextbooks). Tacit knowledge, however, is knowledge that people are notoften consciously aware of (e.g., how to perform a particular task) andis difficult to convey to others through writing or verbalizing.

When individuals utilize computers and the Internet, digital footprints(e.g., digital shadows) are created. Digital footprints refer to thetrails or traces of information left behind in a digital environment(e.g., forum registrations, e-mails, uploads, images, activity, etc.),which may be stored as cookies (i.e., small pieces of data sent from awebsite and stored in the browser of the user tracking online activity).Digital footprints also reside within computer memory as files,indicating actions performed on a computing device (e.g., performedactions, data accessed, programs utilized, etc.). Based on the digitalfootprints, knowledge about the individual and the information which mayhave been accessed and/or created by the user may be discerned throughdata collection techniques and analyses, such as spider programs, textanalytics, and data mining gather knowledge (e.g., gather explicit ortacit knowledge).

Spider programs are software programs or automated scripts that travelthe Web, locating data and indexing information that are also capable ofextracting information (e.g., e-mail addresses, search information,frequency) associated with an individual (e.g., user). Text analytics(e.g., text mining) refers to the process of deriving high qualityinformation (e.g., relevant and novel) from text by discerning patternsand trends within the structure of the input text (e.g., utilizesparsing and derived linguistic features). Data mining discovers patternsin large data sets, including: associations (e.g., relationships betweenvariables), clustering (e.g., similar groups and structures), andclassification (e.g., applying a known structure to new data), andsummarization (e.g., compact representation of the data set).

SUMMARY

Aspects of the present invention disclose a method, computer programproduct, and system for transferring data between user accounts. Themethod includes one or more computer processors receiving a request totransfer data from a first user account to at least a second useraccount. The method further includes one or more computer processorsidentifying the first user account and the at least second user account.The method further includes one or more computer processors determiningactivity associated with the first user account. The method furtherincludes one or more computer processors determining relevant activityfrom the determined activity associated with the first user accountbased on the received request.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention;

FIG. 2 is a flowchart depicting operational steps of a user datatransfer program on a server within the data processing environment ofFIG. 1 for identifying, extracting and transferring information from oneuser account to a second user account, in accordance with an embodimentof the present invention;

FIG. 3 is a block diagram of components of the server executing the userdata transfer program, in accordance with an embodiment of the presentinvention.

DETAILED DESCRIPTION

With tacit knowledge, people are not often aware of the knowledge theypossess or how valuable the knowledge may be to others. In some cases,to effectively transfer tacit knowledge, extensive personal contact,regular interactions, and trust between individuals is needed (e.g., amentor-mentee relationship, where skills are learned throughobservation, imitation, and practice). In other instances, tacitknowledge may be garnered through practice in a particular context andtransmitted through social networks (e.g., to some extent, tacitknowledge is “captured” when the knowledge holder joins a community ornetwork). As recognized by embodiments of the present invention,transferring tacit knowledge may not always be possible, thus resultingin: a loss of tacit knowledge, an increased burden on an organization,and hinders the individual assuming responsibilities of a predecessor(e.g., diminished likelihood of success due to a lack of knowledge).Embodiments of the present invention acquire tacit knowledge from anidentified source (e.g., owner) and provide the acquired tacit knowledgeto a designated recipient for use, lessening the loss of tacitknowledge.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating adistributed data processing environment, generally designated 100, inaccordance with one embodiment of the present invention. FIG. 1 providesonly an illustration of one embodiment and does not imply anylimitations with regard to the environments in which differentembodiments may be implemented.

In the depicted embodiment, distributed data processing environment 100includes client device 110 and server 120 interconnected over network130. Distributed data processing environment 100 may include additionalcomputing devices, mobile computing devices, servers, computers, storagedevices, or other devices not shown.

Client device 110 may be a web server or any other electronic device orcomputing system capable of processing program instructions andreceiving and sending data. In some embodiments, client device 110 maybe a laptop computer, a tablet computer, a netbook computer, a personalcomputer (PC), a desktop computer, a personal digital assistant (PDA), asmart phone, or any programmable electronic device capable ofcommunicating with network 130. In other embodiments, client device 110may represent a server computing system utilizing multiple computers asa server system, such as in a cloud computing environment. In general,client device 110 is representative of any electronic device orcombination of electronic devices capable of executing machine readableprogram instructions as described in greater detail with regard to FIG.3, in accordance with embodiments of the present invention. Clientdevice 110 contains user interface 112 and user data transfer clientprogram 114.

User interface 112 is a program that provides an interface between auser of client device 110 and a plurality of applications that reside onclient device 110 (e.g., user data transfer client program 114) and/ormay be accessed over network 130. A user interface, such as userinterface 112, refers to the information (e.g., graphic, text, sound)that a program presents to a user and the control sequences the useremploys to control the program. A variety of types of user interfacesexist. In one embodiment, user interface 112 is a graphical userinterface. A graphical user interface (GUI) is a type of interface thatallows users to interact with peripheral devices (i.e., externalcomputer hardware that provides input and output for a computing device,such as a keyboard and mouse) through graphical icons and visualindicators as opposed to text-based interfaces, typed command labels, ortext navigation. The actions in GUIs are often performed through directmanipulation of the graphical elements. User interface 112 sends andreceives information through user data transfer client program 114 touser data transfer program 200.

User data transfer client program 114 operates to access user datatransfer program 200 via network 130. User data transfer client program114 provides user interface 112 with user accounts (e.g., owner account122 and recipient account 124) and other data transfer options availablefor selection and user input prior to execution of user data transferprogram 200. In the depicted embodiment, user data transfer clientprogram 114 resides on client device 110. In other embodiments, userdata transfer client program 114 may reside on other devices, such asserver 120, provided that user data transfer client program 114 isaccessible to user interface 112, and provided user data transfer clientprogram 114 has access to user data transfer program 200, owner account122, and recipient account 124.

Server 120 may be a management server, a web server, or any otherelectronic device or computing system capable of receiving and sendingdata. In some embodiments, server 120 may be a laptop computer, a tabletcomputer, a netbook computer, a personal computer (PC), a desktopcomputer, a personal digital assistant (PDA), a smart phone, or anyprogrammable device capable of communication with client device 110 overnetwork 130. In other embodiments, server 120 may represent a servercomputing system utilizing multiple computers as a server system, suchas in a cloud computing environment. Server 120 contains owner account122, recipient account 124, and user data transfer program 200.

Owner account 122 and recipient account 124 are user accounts associatedwith individual users. A user account is a collection of informationinteracting with an operating system accessed with a user name (e.g.,user id) and passwords. User accounts include relevant data to a user,such as a user profile, application settings, user data folder,user-specific folders, security privileges and policy settings, and filesystem permissions. User profiles include operating system preferencesthat are defined separately for a user account (e.g., wallpaper, sidebar configurations, and application shortcuts). Application settingsinclude personal user preferences for applications (e.g., default paths,toolbar layouts). A user data folder is a folder specific to the useridentifying a specific location on the computer for data storage tomaintain separate files from another user of the same device. Userspecific folders are default special folders created for an individualwith a shortcut (e.g., documents, music, pictures, downloads, etc.).Security privileges and policy settings are set for a user accountidentifying a set of security related actions a user may perform (e.g.,logon hours, installing and removing applications, etc.). File systempermissions include details regarding actions a user may perform and onwhich files (e.g., user may change files in a user data folder but notchange system files). Owner account 122 is the source of user accountinformation, which user data transfer program 200 extracts and removes.Recipient account 124 receives the extracted user account informationfrom owner account 122 via user data transfer program 200. In thedepicted embodiment, owner account 122 and recipient account 124 resideon server 120. In other embodiments, owner account 122 and recipientaccount 124 may reside on another server or other devices, such asclient device 110 connected over network 130, provided owner account 122and recipient account 124 are accessible by user data transfer clientprogram 114 and user data transfer program 200.

User data transfer program 200 is a program capable of identifying andextracting relevant information (e.g., contacts, connections, blogs,etc.) from owner account 122 and transferring the identified relevantinformation to recipient account 124. User data transfer program 200receives two distinct accounts through user data transfer client program114, owner account 122 (e.g., source of information) and recipientaccount 124 (e.g., receiver of information). In addition, user datatransfer program 200 receives additional information from user datatransfer client program 114 specifying the type of information to beacquired from owner account 122 (e.g., all information, informationassociated with key words, etc.). In the depicted embodiment, user datatransfer program 200 resides on server 120. In another embodiment, userdata transfer program 200 may reside on client device 110. In otherembodiment, user data transfer program 200 may reside on other serversand computing devices not shown, connected over network 130, provideduser data transfer program 200 is accessible by user data transferclient program 114 and has access to owner account 122 and recipientaccount 124.

Network 130 may be a local area network (LAN), a wide area network (WAN)such as the Internet, a wireless local area network (WLAN), anycombination thereof, or any combination of connections and protocolsthat will support communications between client device 110, server 120,and other computing devices and servers (not shown), in accordance withembodiments of the inventions. Network 130 may include wired, wireless,or fiber optic connections.

FIG. 2 is a flowchart depicting operational steps of user data transferprogram 200, a program for identifying, extracting, and transferringinformation from one user account to a second user account, inaccordance with an embodiment of the present invention. In oneembodiment, user data transfer program 200 may transfer informationbetween two user accounts, such as owner account 122 and recipientaccount 124. In another embodiment, user data transfer program 200 maytransfer information from owner account 122 to one or more accountsrepresented by recipient account 124 (e.g., more than one account may bedesignated to receive information from owner account 122).

In step 202, user data transfer program 200 receives owner account 122and recipient account 124 through user data transfer client program 114.User data transfer program 200 provides user data transfer clientprogram 114 with available user accounts allowing a user to select owneraccount 122 and recipient account 124 (e.g., a text list of useraccounts, icons, etc.). In one embodiment, user data transfer program200 receives owner account 122 and recipient account 124 when a userselects owner account 122 and then drags and drops owner account 122into recipient account 124. In another embodiment, user data transferprogram 200 receives a selection of owner account 122 and recipientaccount 124 in response to user data transfer client program 114displaying prompts to identify an owner and recipient. For example, ateam lead in a department is taking a leave of absence, and a backup hasbeen identified to act in the absence of the team lead. The departmentmanager initiates user data transfer program 200, and user data transferprogram 200 presents the manager with a list of employee icons withinthe department. The manager selects the icon associated with the teamlead (e.g., owner account 122) and drags the icon over the iconassociated with the backup (e.g., recipient account 124). The managerthen drops the icon associated with the team lead into the icon for thebackup via user interface 112.

In step 204, user data transfer program 200 identifies owner account 122activity (e.g., information regarding the interactions of a user,computing devices, and online resources). In response to receiving owneraccount 122 and recipient account 124, user data transfer program 200initiates the identification of information (e.g., data sets,applications, contacts, etc.) utilized by owner account 122. In oneembodiment, user data transfer program 200 may receive a selectionthrough user data transfer client program 114 to identify allinformation utilized by owner account 122. For example, when theindividual associated with owner account 122 will no longer be workingwithin the organization, limitations may not be placed on theinformation identified to prevent the loss of important information. Inanother embodiment, user data transfer program 200 may receive specificinformation (e.g., keywords, account number, etc.) as a selectionthrough user data transfer client program 114 to identify a subset ofinformation utilized by owner account 122. For example, a single salesaccount is to be transferred from one individual to another; therefore,only the information utilized associated with the identified salesaccount needs to be identified for transfer, and owner account 122maintains information regarding remaining sales accounts.

User data transfer program 200 identifies owner account 122 activitythrough digital footprints left by actions taken by the user of owneraccount 122. Digital footprints refer to the trails or traces ofinformation left behind in a digital environment stored within cookies(i.e., small pieces of data sent between a website and browser) andfiles within computer memory as files (e.g., activity report, auditfiles). For example, user data transfer program 200 identifies websitesaccessed by owner account 122 by retrieving the web browsing history(i.e., list of websites accessed over a period of time). In conjunctionwith the associated stored cookies, user data transfer program 200gathers additional information associated with the websites (e.g., useractions and data about the user). User data transfer program 200 is alsoable to identify e-mails that are sent and files (e.g., created,accessed, attached, etc.) as these actions are included in the digitalfootprints. User data transfer program 200 then compiles the identifiedactivity as results (e.g., plurality of applications, data sets,contacts, blogs, communities, etc.) for owner account 122 into aconsolidated usable format (e.g., graph, tree structure, linked nodes,table, ordered list, etc.) for further processing.

In step 206, user data transfer program 200 determines relevant activityfor owner account 122. User data transfer program 200 determinesrelevant activity for owner account 122 by applying one or moretechniques (e.g., spider programs, text analytics, natural languageprocessing, data mining, user direction, etc.) to the activityidentified through the digital footprints (step 204). After applying oneor more of the aforementioned techniques, user data transfer program 200may compare the resulting information to predetermined settings todetermine relevance. Predetermined settings may include minimum valuesfor relevance based on thresholds, rankings, percentage of use, activitylevel, etc. In one embodiment, user data transfer program 200 utilizespredetermined settings to determine relevance (e.g., user data transferprogram 200 determines relevance by meeting or exceeding a minimumvalue). In another embodiment, user data transfer program 200 receives amodification to a predetermined setting from a user through user datatransfer client program 114 (e.g., transfer all information related to aspecific account number regardless of activity to maintain history). Asuser data transfer program 200 identifies activity that is not relevant,user data transfer program 200 removes the non-relevant data from thedetermined activity within the consolidated usable format (step 204) andprovides relevant activity (i.e., reduced number of results). Forexample, in a graphical tree structure representation, user datatransfer program 200 removes non-relevant branches from the originaltree structure and displays a reduced tree structure with the remainingrelevant branches.

In one embodiment, user data transfer program 200 may utilize a spiderprogram to determine relevant activity within the identified activityassociated with owner account 122. For example, user data transferprogram 200 utilizes a spider program that locates and indexes the datafrom within the identified activity, and user data transfer program 200assigns rankings based on the frequency or number of times a “hit”occurs within the data, as set within the rules and policies of thespider program. User data transfer program 200 utilizes the assignedrankings with predetermined settings to determine relevant data (e.g.,utilizes the ranking and the associated percentage to determinerelevance). For example, a forum discussing marketing strategies for asales account is accessed daily. Another forum for troubleshooting aprinter error was accessed twice. Based on the frequency of access(e.g., recurrence of the forums within the digital footprint), user datatransfer program 200 assigns a high ranking to the marketing strategiesforum. User data transfer program 200 then compares the ranking to aminimum relevance threshold. User data transfer program 200 determinesthe frequency of access meets and/or exceeds the minimum relevancethreshold and user data transfer program 200 determines the marketingstrategies forum is relevant. In comparison, based on the low frequencyof access, user data transfer program 200 assigns a low ranking to theprinter error troubleshooting forum that is less than the minimumrelevance threshold. Therefore, user data transfer program 200determines the printer error troubleshooting forum is not relevant. Userdata transfer program 200 identifies the marketing strategies forum fortransfer to recipient account 124 and removes the printer errortroubleshooting forum from the determined activity (e.g., printer errortroubleshooting forum will not be transferred).

In another embodiment, user data transfer program 200 utilizes textanalytics with natural language processing (e.g., derives the meaningfrom human language within textual information) to determine relevantactivity within the identified activity associated with owner account122. User data transfer program 200 utilizes text analytics to identifytext and then applies natural language processing and at least one setof dictionaries and rules to determine relevant activity for owneraccount 122. In one embodiment, user data transfer program 200 receiveskeywords from a user via user interface 112 (step 204). In anotherembodiment, user data transfer program 200 may determine key words basedon information associated with owner account 122. For example, within ane-mail the phrase, “Sales manager for new account” is included in thesubject line and/or message body. User data transfer program 200identifies the phrases “sales manager” and “new account” in the contextof a marketing department and determines a sales manager is a personresponsible for handling customer accounts, and a new account is arecent addition to the customer accounts. User data transfer program 200determines the information associated with the e-mail is thereforerelevant. Another e-mail may include text, such as “today's lunch menu.”As the meaning of the words separately or in combination do not relateto marketing, user data transfer program 200 determines the e-mail andassociated information is not relevant and should not be transferred.

In some other embodiment, user data transfer program 200 mayadditionally utilize information extraction and data mining to acquireadditional information and relevant activity. Continuing the example,the e-mail address, recipient's names, phone numbers, etc. may beextracted from the e-mail. User data transfer program 200 may identifyportions of the extracted information, such as the e-mail extension froman e-mail address (e.g., @companyname.com). User data transfer program200 may then locate additional correspondences based on locating thesame extension associated with the e-mail addresses and determineadditional relevant information (e.g., contacts and details about thenew account, such as the company, ongoing work, issues, etc.) totransfer.

In yet another embodiment, user data transfer program 200 may utilizemetadata to determine relevant activity within the identified activityassociated with owner account 122. Metadata summarizes basic informationabout data (e.g., data associated with owner account 122, such as jobtitle, role, department, permissions, groups, tags, amount of activity,etc.). User data transfer account 200 compares the metadata associatedwith owner account 122 with the metadata associated with recipientaccount 124 to determine the relevant activity. User data transferprogram 200 determines relevant activity based upon logic associatedwith similarities and differences associated the compared metadata. Forexample, the metadata for owner account 122 includes a job role ofcustomer resource manager, a tag identifying an account for client x,and belongs to group abc. The metadata for recipient account 124 alsoincludes a job role of customer resource manager but does not includethe tag for the account for client x, and the recipient account 124 isnot a member of group abc. As the job roles are the same, user datatransfer program 200 determines the account for client x and themembership in group abc are relevant and includes client x and group abcfor transfer to recipient account 124. In another example, the metadatafor recipient account 124 includes a job role of an account analyst anddoes not include the tag for the account for client x, and recipientaccount 124 is not a member of group 123. Through the comparison, userdata transfer program 200 determines owner account 122 and recipientaccount 124 do not share the same job roles, and therefore, only accessto the account for client x is relevant for transfer to recipientaccount 124.

In yet some other embodiment, user data transfer program 200 displaysthe activity for owner account 122 in a selectable format (e.g.,interface) through user data transfer client program 114. In some otherembodiment, user data transfer program 200 displays the activity in aselectable format as a reduced list of activity after user data transferprogram 200 implements one or more of the aforementioned techniques. Theuser of client device 110 may then review the displayed information andselect relevant activity to transfer to recipient account 124 based onpersonal knowledge. For example, user data transfer program 200 displaysa listing of relevant activity via user interface 112 including productblogs, contacts, marketing and sales files (e.g., information isrelevant to the sales account to be transferred), and corporatecompliance training websites. The user of client device 110 selects theproduct blogs, contacts, and marketing and sales files as relevant andthe corporate compliance training websites as non-relevant (e.g.,corporate compliance training may not be necessary to perform dutiesassociated with the sales account).

In step 208, user data transfer program 200 alters owner account 122 andrecipient account 124. Once user data transfer program 200 identifiesthe relevant and non-relevant activity associated with owner account122, user data transfer program 200 initiates the transfer of therelevant activity from owner account 122 to recipient account 124. Userdata transfer program 200 also identifies relevant resources recipientaccount 124 currently does not have access to and initiates the processof obtaining access to the relevant resources. In one embodiment, userdata transfer program 200 may initiate the process of obtaining accessfor recipient account 124 and removing owner account 122. For example,the user of owner account 122 is leaving the company and has access to arestricted resource (e.g., requires a user id and password to access theinformation) for pricing data. User data transfer program 200 initiatesa request to add recipient account 124 to the restricted resource andremove owner account 122. In some embodiments, user data transferprogram 200 may only request to add recipient account 124 to acommunity. For example, the user of owner account 122 is going on aleave of absence, and the user of recipient account 124 is coveringuntil the user of owner account 122 returns to work; therefore, bothowner account 122 and recipient account 124 would maintain access. Insome other embodiment, user data transfer program 200 may alter therequest to allow access to relevant resources for a specified period oftime. For example, a sales account is nearing closeout (i.e., businesswith the customer is reaching completion), and due to a new high profilesales account being awarded to the organization, the user of owneraccount 122 is reassigned to the new account. The user of recipientaccount 124 only needs access to the relevant resources until the timeof closeout. User data transfer program 200 requests temporary accessfor recipient account 124 equal to the time remaining until closeoutoccurs.

In step 210, user data transfer program 200 notifies users of changesresulting from altered accounts. In one embodiment, user data transferprogram 200 notifies the users of both owner account 122 and recipientaccount 124 of the changes to access. In another embodiment, user datatransfer program 200 notifies the user of recipient account 124 ofchanges to access. Additionally, user data transfer program 200 mayprovide the user of owner account 122 and/or recipient account 124 witha notification regarding the change of access request, which the usersof owner account 122 and/or recipient account 124 may approve ordecline. For example, the user of owner account 122 is promoted to themanager of a department and transfers the responsibilities of a salesaccount to a peer within the department. The user of owner account 122may mentor the user of recipient account 124, and thus may want tomaintain access to a community to assist in the transition of roles.Conversely, the user of recipient account 124 may not require access toa resource and declines the request to join. For example, a blog isdedicated to user experiences on a product that is no longer supportedby the organization. As the blog may not provide beneficial informationto the user of recipient account 124, the user of recipient account 124declines the request to initiate access to the blog. In one embodiment,user data transfer program 200 notifies the users of changes at the timea change is requested. In other embodiments, user data transfer program200 notifies the user of changes at the time a change becomes active(e.g., access the resource by recipient account 124 is available). Oncethe access requested by user data transfer program 200 completes,recipient account 124 is able to access the transferred relevantactivity (e.g., contacts, websites, blogs, forums, data files, etc. areaccessible). In some other embodiment, user data transfer program 200notifies the user of client device 110 (e.g., individual initiating thetransfer of tacit knowledge between user accounts) of the changesresulting from the altered accounts (e.g., removal of access, adding ofaccess, when change in access is implemented, etc.).

FIG. 3 depicts a block diagram of components of distributed dataprocessing environment 300, in accordance with an illustrativeembodiment of the present invention. It should be appreciated that FIG.3 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made.

Distributed data processing environment 300 includes communicationsfabric 302, which provides communications between computer processor(s)304, memory 306, persistent storage 308, communications unit 310, andinput/output (I/O) interface(s) 312. Communications fabric 302 can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,communications fabric 302 can be implemented with one or more buses.

Memory 306 and persistent storage 308 are computer readable storagemedia. In this embodiment, memory 306 includes random access memory(RAM) 314 and cache memory 316. In general, memory 306 can include anysuitable volatile or non-volatile computer readable storage media.

User interface 112, user data transfer client program 114, owner account122, recipient account 124, and user data transfer program 200 arestored in persistent storage 308 for execution and/or access by one ormore of the respective computer processors 304 via one or more memoriesof memory 306. In this embodiment, persistent storage 308 includes amagnetic hard disk drive. Alternatively, or in addition to a magnetichard disk drive, persistent storage 308 can include a solid state harddrive, a semiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 308 may also be removable. Forexample, a removable hard drive may be used for persistent storage 308.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage308.

Communications unit 310, in these examples, provides for communicationswith other data processing systems or devices, including resources ofenterprise grid and client devices. In these examples, communicationsunit 310 includes one or more network interface cards. Communicationsunit 310 may provide communications through the use of either or bothphysical and wireless communications links. User interface 112, userdata transfer client program 114, owner account 122, recipient account124, and user data transfer program 200 may be downloaded to persistentstorage 308 through communications unit 310.

I/O interface(s) 312 allows for input and output of data with otherdevices that may be connected to distributed data processing environment300. For example, I/O interface 312 may provide a connection to externaldevices 318 such as a keyboard, keypad, a touch screen, and/or someother suitable input device. External devices 318 can also includeportable computer readable storage media such as, for example, thumbdrives, portable optical or magnetic disks, and memory cards. Softwareand data used to practice embodiments of the present invention, e.g.,user interface 112, user data transfer client program 114, owner account122, recipient account 124, and user data transfer program 200, can bestored on such portable computer readable storage media and can beloaded onto persistent storage 308 via I/O interface(s) 312. I/Ointerface(s) 312 also connect to a display 320.

Display 320 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method for transferring data between useraccounts, the method comprising: receiving, by one or more computerprocessors, a request to transfer data from a first user account to atleast a second user account; identifying, by one or more computerprocessors, the first user account and the at least second user account;determining, by one or more computer processors, activity associatedwith the first user account; and determining, by one or more computerprocessors, relevant activity from the determined activity associatedwith the first user account based on the received request.
 2. The methodof claim 1, further comprising: transferring, by one or more computerprocessors, at least a subset of the determined relevant activity to theat least second user account based on the received request.
 3. Themethod of claim 1, wherein the determined activity associated with thefirst user account comprises one or more digital footprints, wherein theone or more digital footprints represent actions performed by a user ofthe first user account on computing devices and online resources.
 4. Themethod of claim 1, wherein determining the relevant activity from thedetermined activity associated with the first user account based on thereceived request further comprises: identifying, by one or more computerprocessors, data to transfer based on the received request; applying, byone or more computer processors, one or more of the following spiderprograms, text analytics, and data mining to the determined activityassociated with the first user account based on the identified data totransfer; receiving, by one or more computer processors, results fromthe one of more applied spider programs, text analytics, and datamining; and determining, by one or more computer processors, relevantactivity from the received results based on applying predeterminedsettings to the received results, wherein the relevant activity includesone or more of the following: applications, data sets, files, contacts,websites, blogs, forums, and communities.
 5. The method of claim 1wherein determining the relevant activity from the determined activityassociated with the first user account based on the received request,further comprises: retrieving, by one or more computer processors,metadata associated with the first user account and metadata associatedwith the at least second user account, wherein the metadata includes oneor more of the following: job title, role, department, permissions,groups, tags, and amount of activity; comparing, by one or more computerprocessor, the metadata associated with the first user account to themetadata associated with the at least second user account; anddetermining, by one or more computer processors, the relevant activitybased on the compared metadata.
 6. The method of claim 1, furthercomprising: displaying, by one or more computer processors, an interfacethat includes the determined activity associated with the first useraccount, wherein the interface is capable of receiving input selectingone or more instances of the determined activity associated with thefirst user account to be relevant activity.
 7. The method of claim 1,further comprising: identifying, by one or more computer processors,resources in the determined relevant activity associated with the firstuser account that the at least second user account does not have accessto; requesting, by one or more computer processors, a change in accessfor one or more of the following: the first user account and the atleast second user account to the identified resources; and notifying, byone or more computer processors, at least a user associated with the atleast second user account of the requested change in access.